home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / tcl / tcl70b2.lha / tcl7.0b2 / doc / DetachPids.3 < prev    next >
Text File  |  1993-04-01  |  3KB  |  81 lines

  1. '\"
  2. '\" Copyright (c) 1989-1993 The Regents of the University of California.
  3. '\" All rights reserved.
  4. '\"
  5. '\" Permission is hereby granted, without written agreement and without
  6. '\" license or royalty fees, to use, copy, modify, and distribute this
  7. '\" documentation for any purpose, provided that the above copyright
  8. '\" notice and the following two paragraphs appear in all copies.
  9. '\"
  10. '\" IN NO EVENT SHALL THE UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY
  11. '\" FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
  12. '\" ARISING OUT OF THE USE OF THIS DOCUMENTATION, EVEN IF THE UNIVERSITY OF
  13. '\" CALIFORNIA HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  14. '\"
  15. '\" THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY WARRANTIES,
  16. '\" INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
  17. '\" AND FITNESS FOR A PARTICULAR PURPOSE.  THE SOFTWARE PROVIDED HEREUNDER IS
  18. '\" ON AN "AS IS" BASIS, AND THE UNIVERSITY OF CALIFORNIA HAS NO OBLIGATION TO
  19. '\" PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
  20. '\" 
  21. '\" $Header: /user6/ouster/tcl/man/RCS/DetachPids.3,v 1.9 93/04/01 09:25:27 ouster Exp $ SPRITE (Berkeley)
  22. '\" 
  23. .so man.macros
  24. .HS Tcl_DetachPids tclc
  25. .BS
  26. .SH NAME
  27. Tcl_DetachPids, Tcl_ReapDetachedProcs \- manage child processes in background
  28. .SH SYNOPSIS
  29. .nf
  30. \fB#include <tcl.h>\fR
  31. .sp
  32. int
  33. \fBTcl_DetachPids\fR(\fInumPids, pidPtr\fR)
  34. .sp
  35. .VS
  36. \fBTcl_ReapDetachedProcs\fR()
  37. .VE
  38. .SH ARGUMENTS
  39. .AS int *statusPtr
  40. .AP int numPids in
  41. Number of process ids contained in the array pointed to by \fIpidPtr\fR.
  42. .AP int *pidPtr in
  43. Address of array containing \fInumPids\fR process ids.
  44. .BE
  45.  
  46. .SH DESCRIPTION
  47. .PP
  48. .VS
  49. \fBTcl_DetachPids\fR and \fBTcl_ReapDetachedProcs\fR provide a
  50. mechanism for managing subprocesses that are running in background.
  51. These procedures are needed because the parent of a process must
  52. eventually invoke the \fBwaitpid\fR kernel call (or one of a few other
  53. similar kernel calls) to wait for the child to exit.  Until the
  54. parent waits for the child, the child's state cannot be completely
  55. reclaimed by the system.  If a parent continually creates children
  56. and doesn't wait on them, the system's process table will eventually
  57. overflow, even if all the children have exited.
  58. .PP
  59. \fBTcl_DetachPids\fR may be called to ask Tcl to take responsibility
  60. for one or more processes whose process ids are contained in the
  61. \fIpidPtr\fR array passed as argument.  The caller presumably
  62. has started these processes running in background and doesn't
  63. want to have to deal with them again.
  64. .PP
  65. \fBTcl_ReapDetachedProcs\fR invokes the \fBwaitpid\fR kernel call
  66. on each of the background processes so that its state can be cleaned
  67. up if it has exited.  If the process hasn't exited yet,
  68. \fBTcl_ReapDetachedProcs\fR doesn't wait for it to exit;  it will check again
  69. the next time it is invoked.
  70. Tcl automatically calls \fBTcl_ReapDetachedProcs\fR each time the
  71. \fBexec\fR command is executed, so in most cases it isn't necessary
  72. for any code outside of Tcl to invoke \fBTcl_ReapDetachedProcs\fR.
  73. However, if you call \fBTcl_DetachPids\fR in situations where the
  74. \fBexec\fR command may never get executed, you may wish to call
  75. \fBTcl_ReapDetachedProcs\fR from time to time so that background
  76. processes can be cleaned up.
  77. .VE
  78.  
  79. .SH KEYWORDS
  80. background, child, detach, process, wait
  81.